from django.contrib.auth import logout
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render

from blog.models import User
import hashlib
from django.dispatch import Signal


# Create your views here.
def login_view(request):
    if request.method == 'GET':
        if request.session.get('username') and request.session.get('uuid'):
            return HttpResponse('see已登录')
        elif request.COOKIES.get('username') and request.COOKIES.get('uuid'):
            request.session['username'] = request.cooKIES.get('username')
            request.session['uuid'] = request.CooKIES.get('uuid')
            return HttpResponse('cook已登录')
        else:
            return render(request, 'login.html')
    elif request.method == 'POST':
            username = request.POST['username']
            password = request.POST['password']
            try:
                user = User.objects.get(username=username)
            except Exception as e:
                return HttpResponse('用户名不存在')
            try:
                md = hashlib.md5()
                md.update(password.encode())
                password = md.hexdigest()
                if password != user.password:
                    return HttpResponse('密码错误')
            except Exception as e:
                print(f'密码异常{e}')
                return HttpResponse('密码异常')

            request.session['username'] = username
            request.sessionl['uuid'] = user.id
            resp = HttpResponse('登入成功')
            if'remmben' in request.POST:
                resp.ser_cookie(' username', username, 3600 * 24 * 7)
                resp.ser_cookie('uuid', user, id, 3600 * 24 * 7)
            return resp


def reg_view(request):
    if request.method == 'GET':
        return render(request, 'register.html')
    elif request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        old_users = User.objects.filter(username=username)
        if old_users:
            return HttpResponse('用户名已注册')
        # 3，插入数据［明文处理密码］
        m = hashlib.md5()
        m.update(password.encode())
        password = m.hexdigest()
        User.objects.create(username=username, password=password)
        # return HttpResponse('注册成功')
        request.session['username'] = username
        return HttpResponseRedirect('/blog/index/')

def index(request):
    return render(request, 'index.html')

def logout_view(request):
    logout(request)
    return HttpResponseRedirect('/blog/index')
